#ifndef CAMPAIGNEDITFORM_H
#define CAMPAIGNEDITFORM_H



#include "EditFormWrapper.h"



namespace Ui {
    class CampaignEditForm;
}

class CampaignEditFormBase : public QWidget, public AbstractEditFormActions
{
    Q_OBJECT

public:

    virtual void updateData();


protected:

    CampaignEditFormBase(QWidget *parent = 0);
    ~CampaignEditFormBase();

    virtual QString message() const;
    virtual D20BaseModel* model() const
    {
        return m_model.data();
    }


protected slots:

    virtual void initialize();
    virtual void onActionTriggered(QAction* action);


private:

    Ui::CampaignEditForm *ui;
    QPointer<D20CampaignModel> m_model;


private slots:

    void on_actionAdd_Item_triggered();
    void on_actionAdd_Reference_triggered();
    void on_lineEditName_editingFinished();
    void on_actionDelete_triggered();


};



typedef EditFormWrapper<CampaignEditFormBase> CampaignEditForm;



#endif // CAMPAIGNEDITFORM_H
